/**
 * 复制 一份 相同 值 的 元素
 * @param o
 */
export function empty_clone<T>(o: T): T {
  let cuo: any;
  if (Array.isArray(o)) {
    cuo = [];
    for (let i = 0; i < o.length; i++) {
      cuo.push(empty_clone(o[i]));
    }
  } else if (typeof o == 'object') {
    cuo = {};
    for (const key in o) {
      if (Object.prototype.hasOwnProperty.call(o, key)) {
        cuo[key] = empty_clone(o[key]);
      }
    }
  } else {
    cuo = o;
  }

  return cuo;
}
